package com.egao.orderB.service;

import com.egao.common.core.damon.results.PageResult2;
import com.egao.common.core.web.JsonResult;
import com.egao.common.system.entity.User;
import com.egao.orderB.entity.Ocean;
import org.apache.poi.ss.formula.functions.T;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 订舱管理服务类
 * @author : Doman
 * @date : 2021-09-06 16:20:23
 * @version ：1.0
 */
public interface OceanService /*extends IService<Ocean>*/ {

  /**
	 * 分页查询
	 * @param page
	 * @param ocean
	 * @return
	 */
	public JsonResult list(PageResult2<T> page, Ocean ocean, User loginUser) throws Exception;

  /**
	 * 分页查询
	 * @param page
	 * @param ocean
	 * @return
	 */
	public JsonResult listDel(PageResult2<T> page, Ocean ocean, User loginUser) throws Exception;

	/**
	 * 获取list
	 * @param ocean
	 * @return
	 */
	public JsonResult list(Ocean ocean, User loginUser);

	/**
	 * 获取list
	 * @param ocean
	 * @return
	 */
	public JsonResult listOpen(Ocean ocean, User loginUser);

	/**
	 * 根据Id查询
	 * @param ocean
	 * @return
	 */
	public JsonResult getById(Ocean ocean);

	/**
	 * 根据Id查询
	 * @param ocean
	 * @return
	 */
	public JsonResult bookSpace(Ocean ocean, User loginUser, HttpServletRequest request);

	/**
	 * 根据Id查询
	 * @param ocean
	 * @return
	 */
	public JsonResult releaseTheCabin(Ocean ocean, User loginUser, HttpServletRequest request);

	/**
	 * 根据Id查询
	 * @param ocean
	 * @return
	 */
	public JsonResult cutOrder(Ocean ocean, User loginUser, HttpServletRequest request);

	/**
	 * 根据Id查询
	 * @param ocean
	 * @return
	 */
	public JsonResult cutOff(Ocean ocean, User loginUser, HttpServletRequest request);

	/**
	 * 保存
	 * @param ocean
	 * @param loginUser
	 * @return
	 */
	public JsonResult save(Ocean ocean, User loginUser);

	/**
	 * 修改
	 * @param ocean
	 * @param loginUser
	 * @return
	 */
	public JsonResult update(Ocean ocean, User loginUser);

	/**
	 * 删除
	 * @param ocean
	 * @param loginUser
	 * @return
	 */
	public JsonResult remove(Ocean ocean, User loginUser);
	/**
	 * 删除
	 * @param ocean
	 * @return
	 */
	public void exportOcean(Ocean ocean, HttpServletResponse response)throws Exception;
	/**
	 * 删除
	 * @param ocean
	 * @return
	 */
	public void exportOceanFinance(List<Ocean> list, HttpServletResponse response)throws Exception;
}
